Comments এবং Annotations

Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড)
186
186

Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টে Comments এবং Annotations (মন্তব্য এবং নোট) যুক্ত করতে পারেন। এটি বিশেষত তখন ব্যবহৃত হয় যখন আপনি একটি ডকুমেন্টে টেক্সট বা কনটেন্টের উপর মন্তব্য বা নোট দিতে চান, যা পরে পর্যালোচনা বা সম্পাদনা করার জন্য ব্যবহারকারীর সুবিধা হয়।


Comments (মন্তব্য) যুক্ত করা

Word ডকুমেন্টে Comments (মন্তব্য) সাধারণত কিছু নির্দিষ্ট টেক্সট বা সেকশনের জন্য যোগ করা হয়। XWPFDocument ক্লাসে XWPFFootnote এবং XWPFComment ব্যবহার করে আপনি সহজেই মন্তব্য যোগ করতে পারেন।

উদাহরণ: Word ডকুমেন্টে মন্তব্য যোগ করা

import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;

import java.io.FileOutputStream;
import java.io.IOException;

public class CommentExample {
    public static void main(String[] args) {
        try {
            // নতুন Word ডকুমেন্ট তৈরি করা
            XWPFDocument document = new XWPFDocument();

            // প্রথম প্যারাগ্রাফ
            XWPFParagraph paragraph1 = document.createParagraph();
            XWPFRun run1 = paragraph1.createRun();
            run1.setText("This is the main text.");

            // মন্তব্য তৈরি করা
            XWPFComment comment = new XWPFComment();
            comment.setAuthor("Author Name");
            comment.setText("This is a comment on the text.");

            // মন্তব্যটিকে প্যারাগ্রাফের সাথে যুক্ত করা
            paragraph1.getCTP().addNewComment().set(comment);

            // Word ডকুমেন্ট সেভ করা
            FileOutputStream out = new FileOutputStream("comment_example.docx");
            document.write(out);
            out.close();

            System.out.println("Word document created with comments.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • XWPFComment ব্যবহার করে মন্তব্য তৈরি করা হয়েছে এবং setAuthor() এবং setText() মেথডের মাধ্যমে মন্তব্যের লেখক এবং টেক্সট সেট করা হয়েছে।
  • মন্তব্যটি প্যারাগ্রাফের সাথে যুক্ত করা হয়েছে, এবং তারপর ডকুমেন্টটি সেভ করা হয়েছে।

Annotations (অ্যানোটেশনস) যুক্ত করা

Annotations সাধারণত এমন ধরনের টেক্সট বা নোট যা ডকুমেন্টে অতিরিক্ত তথ্য হিসেবে যোগ করা হয়। এটি মন্তব্যের মতই কাজ করে, তবে কিছু ক্ষেত্রে এটি হাইলাইট বা বিশেষ নির্দেশনা হিসেবে ব্যবহৃত হতে পারে।

উদাহরণ: Word ডকুমেন্টে Annotations যোগ করা

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class AnnotationExample {
    public static void main(String[] args) {
        try {
            // নতুন Word ডকুমেন্ট তৈরি করা
            XWPFDocument document = new XWPFDocument();

            // প্রথম প্যারাগ্রাফ
            XWPFParagraph paragraph1 = document.createParagraph();
            XWPFRun run1 = paragraph1.createRun();
            run1.setText("This is the main text with an annotation.");

            // অ্যানোটেশন (annotation) যোগ করা
            XWPFRun annotationRun = paragraph1.createRun();
            annotationRun.setText("[Annotation: This is additional information.]");
            annotationRun.setItalic(true);  // অ্যানোটেশনকে ইতালিক ফন্টে সেট করা

            // Word ডকুমেন্ট সেভ করা
            FileOutputStream out = new FileOutputStream("annotation_example.docx");
            document.write(out);
            out.close();

            System.out.println("Word document created with annotations.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • XWPFRun ব্যবহার করে অ্যানোটেশনটি প্যারাগ্রাফে যুক্ত করা হয়েছে।
  • অ্যানোটেশনটি টেক্সট হিসেবে যোগ করা হয়েছে এবং এটি ইতালিক ফন্টে সেট করা হয়েছে।

Comments এবং Annotations এর মধ্যে পার্থক্য

  1. Comments: সাধারণত, নির্দিষ্ট টেক্সট বা অংশে মন্তব্য দেয়া হয়, যা মূলত রিভিউ বা পর্যালোচনার উদ্দেশ্যে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট লেখকের মন্তব্য হিসেবে চিহ্নিত থাকে।
  2. Annotations: অ্যানোটেশনগুলি সাধারণত অতিরিক্ত তথ্য বা নির্দেশনা হিসেবে ব্যবহৃত হয় এবং সেগুলি পাঠকের জন্য আরও বিস্তারিত বা পরিস্কার ধারণা দেয়। এগুলি সাধারণত টেক্সটের সঙ্গে একীভূত হতে পারে, কিন্তু মন্তব্যের মত রিভিউ সিস্টেমের অংশ নয়।

সারাংশ

Apache POI লাইব্রেরি ব্যবহার করে Word ডকুমেন্টে Comments এবং Annotations যোগ করা সম্ভব। আপনি XWPFComment ব্যবহার করে মন্তব্য এবং XWPFRun ব্যবহার করে অ্যানোটেশন যুক্ত করতে পারেন। মন্তব্যগুলি মূলত রিভিউ উদ্দেশ্যে ব্যবহৃত হয়, আর অ্যানোটেশনগুলি অতিরিক্ত তথ্য বা নোট প্রদান করতে ব্যবহৃত হয়। এই দুটি উপাদান ডকুমেন্টের তথ্যসমৃদ্ধতা বৃদ্ধি করতে সাহায্য করে।

common.content_added_by

Word ডকুমেন্টে Comments যোগ করা

139
139

Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্ট-এ Comments (মন্তব্য) যোগ করতে পারেন। এটি মূলত XWPFComment ক্লাসের মাধ্যমে করা যায়, যা আপনাকে ডকুমেন্টের নির্দিষ্ট অংশে মন্তব্য যোগ করার সুযোগ দেয়। মন্তব্যগুলি সাধারণত tracked changes বা collaboration এর জন্য ব্যবহৃত হয়।

এখানে আমরা দেখাবো কীভাবে Word ডকুমেন্টে comments যোগ করা যায়।


Word ডকুমেন্টে Comments যোগ করার উদাহরণ

import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.xwpf.usermodel.XWPFComment;
import org.apache.xmlbeans.XmlCursor;

import java.io.*;

public class AddCommentsExample {
    public static void main(String[] args) {
        try {
            // নতুন Word ডকুমেন্ট তৈরি করা
            XWPFDocument document = new XWPFDocument();

            // প্রথম প্যারাগ্রাফ তৈরি
            XWPFParagraph paragraph = document.createParagraph();
            XWPFRun run = paragraph.createRun();
            run.setText("এই প্যারাগ্রাফে একটি মন্তব্য যোগ করা হবে।");

            // মন্তব্য যোগ করা
            XWPFComment comment = new XWPFComment(document, "Commenter Name", "2024-12-17", "এই অংশে একটি মন্তব্য রয়েছে।");
            paragraph.addComment(comment);  // মন্তব্য যোগ করা

            // ডকুমেন্টটি সেভ করা
            FileOutputStream out = new FileOutputStream("document_with_comments.docx");
            document.write(out);
            out.close();

            System.out.println("মন্তব্য সফলভাবে যোগ করা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

কোড বিশ্লেষণ:

  1. XWPFDocument: একটি নতুন .docx ডকুমেন্ট তৈরি করা হয়।
  2. createParagraph(): এটি একটি নতুন প্যারাগ্রাফ তৈরি করে।
  3. createRun(): এটি প্যারাগ্রাফে একটি রান (টেক্সট) তৈরি করে।
  4. setText(): এটি রান এর মধ্যে টেক্সট সেট করে।
  5. XWPFComment: এই ক্লাস ব্যবহার করে মন্তব্য তৈরি করা হয়, যেখানে:
    • প্রথম আর্গুমেন্ট হল ডকুমেন্ট
    • দ্বিতীয় আর্গুমেন্ট হল মন্তব্যকারী নাম
    • তৃতীয় আর্গুমেন্ট হল মন্তব্যের তারিখ
    • চতুর্থ আর্গুমেন্ট হল মন্তব্যের বিষয়বস্তু
  6. addComment(): এটি প্যারাগ্রাফে মন্তব্য যোগ করতে ব্যবহৃত হয়।
  7. FileOutputStream: ডকুমেন্টটি ফাইলে সেভ করা হয়।

এই কোডটি একটি Word ডকুমেন্ট তৈরি করবে, যেখানে একটি প্যারাগ্রাফে মন্তব্য যোগ করা হয়েছে।


মন্তব্যের কাস্টমাইজেশন

আপনি মন্তব্যের বিভিন্ন বিষয় কাস্টমাইজ করতে পারেন, যেমন:

  • মন্তব্যকারী নাম: যে ব্যক্তি মন্তব্য করেছে তার নাম।
  • মন্তব্যের তারিখ: যে তারিখে মন্তব্য করা হয়েছে।
  • মন্তব্যের বিষয়বস্তু: মন্তব্যের নিজস্ব টেক্সট।

মন্তব্যের জন্য আরও স্টাইল কাস্টমাইজেশন

comment.setFontFamily("Arial");  // ফন্ট সেট করা
comment.setFontSize(12);  // ফন্ট সাইজ সেট করা
comment.setFontColor("FF5733");  // টেক্সট কালার সেট করা

সারাংশ

Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্টে Comments যোগ করতে পারেন। XWPFComment ক্লাসের মাধ্যমে আপনি মন্তব্যের বিস্তারিত তথ্য যেমন, মন্তব্যকারী নাম, তারিখ এবং বিষয়বস্তু সেট করতে পারবেন। এই পদ্ধতিটি collaboration এবং track changes করার জন্য খুবই উপকারী।


common.content_added_by

Comments Edit এবং Remove করা

171
171

Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে মন্তব্য (Comments) যুক্ত করতে, সম্পাদনা (Edit) করতে এবং মুছে ফেলতে (Remove) পারেন। মন্তব্যগুলি ডকুমেন্টের সংশোধন বা পর্যালোচনা প্রক্রিয়ায় গুরুত্বপূর্ণ ভূমিকা পালন করে, যেমন- একাধিক ব্যবহারকারী যখন একটি ডকুমেন্টে পরিবর্তন বা পরামর্শ প্রদান করে, তখন তা মন্তব্য হিসেবে থাকে।

এখানে দেখানো হবে কিভাবে মন্তব্য যুক্ত, সম্পাদনা এবং মুছে ফেলা যায়।


মন্তব্য (Comments) যোগ করা

Word ডকুমেন্টে মন্তব্য যোগ করার জন্য XWPFComments এবং XWPFComment ব্যবহার করা হয়। প্রতিটি মন্তব্য একটি নির্দিষ্ট paragraph বা run এর সাথে যুক্ত করা যেতে পারে।

Example: মন্তব্য যোগ করা

import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.wp.usermodel.Comment;
import java.io.FileOutputStream;
import java.io.IOException;

public class AddCommentExample {
    public static void main(String[] args) throws IOException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph1 = document.createParagraph();
        XWPFRun run1 = paragraph1.createRun();
        run1.setText("এটি একটি প্যারাগ্রাফ, যার সাথে মন্তব্য যুক্ত করা হবে।");

        // মন্তব্য তৈরি করা
        XWPFComments comments = document.createComments();
        XWPFComment comment = comments.addComment(run1, "User1", "এটি একটি মন্তব্য।");

        // ডকুমেন্ট সংরক্ষণ
        FileOutputStream out = new FileOutputStream("AddCommentExample.docx");
        document.write(out);
        out.close();

        System.out.println("মন্তব্য যোগ করা হয়েছে এবং ডকুমেন্ট সংরক্ষণ করা হয়েছে।");
    }
}

এখানে, XWPFComments এবং XWPFComment ক্লাস ব্যবহার করে একটি মন্তব্য run1 এর সাথে যুক্ত করা হয়েছে। মন্তব্যের লেখক এবং তার মন্তব্যের বিষয় দেওয়া হয়েছে।


মন্তব্য (Comments) সম্পাদনা করা

আপনি ডকুমেন্টে ইতিমধ্যেই থাকা মন্তব্যগুলো সম্পাদনা (Edit) করতে পারেন। মন্তব্য সম্পাদনা করার জন্য আপনাকে মন্তব্যের পাঠ্য (text) পরিবর্তন করতে হবে।

Example: মন্তব্য সম্পাদনা করা

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class EditCommentExample {
    public static void main(String[] args) throws IOException {
        // বিদ্যমান ডকুমেন্ট থেকে পড়া
        FileInputStream fis = new FileInputStream("AddCommentExample.docx");
        XWPFDocument document = new XWPFDocument(fis);

        // প্রথম প্যারাগ্রাফে থাকা মন্তব্য খুঁজে বের করা
        XWPFComments comments = document.getComments();
        XWPFComment comment = comments.getComment(0); // প্রথম মন্তব্য

        // মন্তব্যের পাঠ্য পরিবর্তন করা
        comment.setText("এটি সম্পাদিত মন্তব্য।");

        // ডকুমেন্ট সংরক্ষণ
        FileOutputStream out = new FileOutputStream("EditCommentExample.docx");
        document.write(out);
        out.close();

        System.out.println("মন্তব্য সম্পাদনা করা হয়েছে এবং ডকুমেন্ট সংরক্ষণ করা হয়েছে।");
    }
}

এখানে, getComment(0) ব্যবহার করে প্রথম মন্তব্যটি খুঁজে বের করা হয়েছে এবং তার পাঠ্য পরিবর্তন করা হয়েছে।


মন্তব্য (Comments) মুছে ফেলা

মন্তব্য মুছে ফেলার জন্য, আপনাকে সংশ্লিষ্ট মন্তব্য অবজেক্টটি সরিয়ে ফেলতে হবে। মন্তব্যটি মুছে ফেললে, ডকুমেন্টে থাকা সংশ্লিষ্ট মন্তব্য আর থাকবে না।

Example: মন্তব্য মুছে ফেলা

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class RemoveCommentExample {
    public static void main(String[] args) throws IOException {
        // বিদ্যমান ডকুমেন্ট থেকে পড়া
        FileInputStream fis = new FileInputStream("AddCommentExample.docx");
        XWPFDocument document = new XWPFDocument(fis);

        // প্রথম মন্তব্য মুছে ফেলা
        XWPFComments comments = document.getComments();
        comments.removeComment(0); // প্রথম মন্তব্য মুছে ফেলা

        // ডকুমেন্ট সংরক্ষণ
        FileOutputStream out = new FileOutputStream("RemoveCommentExample.docx");
        document.write(out);
        out.close();

        System.out.println("মন্তব্য মুছে ফেলা হয়েছে এবং ডকুমেন্ট সংরক্ষণ করা হয়েছে।");
    }
}

এখানে, removeComment(0) ব্যবহার করে প্রথম মন্তব্যটি মুছে ফেলা হয়েছে।


সারাংশ

Apache POI ব্যবহার করে আপনি Word ডকুমেন্টে মন্তব্য (Comments) যোগ, সম্পাদনা এবং মুছে ফেলতে পারেন। মন্তব্য যুক্ত করতে XWPFComments এবং XWPFComment ব্যবহার করা হয়, সম্পাদনা করতে মন্তব্যের পাঠ্য পরিবর্তন করা হয়, এবং মুছে ফেলতে সংশ্লিষ্ট মন্তব্য অবজেক্টটি সরিয়ে ফেলা হয়। এই সমস্ত কাজ Apache POI দিয়ে সহজেই করা সম্ভব।


common.content_added_by

Annotations ব্যবহারের কৌশল

148
148

Annotations Word ডকুমেন্টে টেক্সট, ছবি বা অন্যান্য কনটেন্টের সঙ্গে সম্পর্কিত মন্তব্য বা নোট হিসেবে ব্যবহৃত হয়। এটি সাধারণত ডকুমেন্টের রিভিউ বা মন্তব্যের জন্য ব্যবহৃত হয় এবং ডকুমেন্টের সংশোধন বা পর্যালোচনা প্রক্রিয়ায় সহায়ক হয়। Apache POI লাইব্রেরি ব্যবহার করে Word ডকুমেন্টে Annotations যোগ করা, পড়া এবং পরিচালনা করার কিছু কৌশল এখানে আলোচনা করা হয়েছে।


১. Annotations (মন্তব্য) কী?

Word ডকুমেন্টে Annotations সাধারণত দুই ধরনের হতে পারে:

  • Comments (মন্তব্য): এটি একটি নির্দিষ্ট অংশের জন্য মন্তব্য বা পরামর্শ থাকে, যা একাধিক ব্যবহারকারী দ্বারা যুক্ত করা যেতে পারে।
  • Footnotes / Endnotes (ফুটনোট / এন্ডনোট): এটি ডকুমেন্টের নিচে বা শেষে থাকা অতিরিক্ত তথ্য বা নোটস হতে পারে।

Apache POI মূলত Comments যোগ করতে সহায়তা করে, যেটি সাধারণত ডকুমেন্টের সংশোধন বা পর্যালোচনার কাজে ব্যবহৃত হয়।


২. Annotations (Comments) যোগ করা

Comments বা মন্তব্য Word ডকুমেন্টে যোগ করতে, XWPFComment এবং XWPFDrawing ক্লাস ব্যবহার করা হয়। এখানে একটি উদাহরণ দেওয়া হলো, যেখানে টেক্সটের একটি নির্দিষ্ট অংশে মন্তব্য (annotation) যোগ করা হয়েছে।

import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.wp.usermodel.HeaderFooterType;

import java.io.FileOutputStream;
import java.io.IOException;

public class AddCommentToWord {
    public static void main(String[] args) throws IOException {
        // নতুন ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // প্রথম Paragraph তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        paragraph.setAlignment(ParagraphAlignment.LEFT);
        XWPFRun run = paragraph.createRun();
        run.setText("This is a sample text where we will add a comment.");

        // মন্তব্য (Annotation) যোগ করা
        XWPFComment comment = new XWPFComment(document);
        comment.setAuthor("John Doe");
        comment.setDate("2024-12-17");
        comment.setText("This is a comment added to the text.");
        paragraph.addComment(comment);

        // ডকুমেন্ট সেভ করা
        FileOutputStream out = new FileOutputStream("word_with_comments.docx");
        document.write(out);
        out.close();
    }
}

এখানে, একটি Paragraph-এ মন্তব্য যোগ করা হয়েছে, এবং এতে Author (লেখক) এবং Date নির্ধারণ করা হয়েছে।


৩. Comments পড়া

একটি Word ডকুমেন্টে মন্তব্য যোগ করা হলে, সেই মন্তব্যগুলি পরে পড়ে বা প্রক্রিয়াজাত করা যায়। যদিও Apache POI সরাসরি মন্তব্য পড়ার জন্য কোনও API সরবরাহ করে না, তবে আপনি ডকুমেন্টের XML স্ট্রাকচার থেকে মন্তব্যগুলি বের করতে পারেন। POI-এর মাধ্যমে এই মন্তব্যগুলো XML ফরম্যাটে থাকে, এবং আপনি তাদের প্রোগ্রাম্যাটিকভাবে অ্যাক্সেস করতে পারেন।

import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;

import java.io.FileInputStream;
import java.io.IOException;

public class ReadCommentsFromWord {
    public static void main(String[] args) throws IOException {
        // ডকুমেন্ট লোড করা
        XWPFDocument document = new XWPFDocument(new FileInputStream("word_with_comments.docx"));

        // মন্তব্যের জন্য XML কনটেন্ট পরীক্ষা করা
        XmlCursor cursor = document.getDocument().newCursor();
        cursor.selectPath("./*");
        while(cursor.toNextSelection()) {
            if(cursor.getName().getLocalPart().equals("w:comment")) {
                String commentText = cursor.getTextValue();
                System.out.println("Found Comment: " + commentText);
            }
        }
    }
}

এখানে, XML Cursor ব্যবহার করে ডকুমেন্টের XML থেকে comments বের করা হয়েছে। আপনি প্রতিটি মন্তব্যের টেক্সট বের করতে পারেন।


৪. Footnotes এবং Endnotes যোগ করা

Footnotes এবং Endnotes ডকুমেন্টে অতিরিক্ত তথ্য প্রদানের জন্য ব্যবহৃত হয়। Apache POI এর মাধ্যমে আপনি Footnotes এবং Endnotes যোগ করতে পারেন।

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class AddFootnoteAndEndnote {
    public static void main(String[] args) throws IOException {
        // নতুন ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // প্রথম Paragraph তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        paragraph.setAlignment(ParagraphAlignment.LEFT);
        XWPFRun run = paragraph.createRun();
        run.setText("This is some text with a footnote and endnote.");

        // Footnote যোগ করা
        XWPFFootnote footnote = document.createFootnote();
        XWPFParagraph footnoteParagraph = footnote.createParagraph();
        XWPFRun footnoteRun = footnoteParagraph.createRun();
        footnoteRun.setText("This is a footnote.");

        // Endnote যোগ করা
        XWPFEndnote endnote = document.createEndnote();
        XWPFParagraph endnoteParagraph = endnote.createParagraph();
        XWPFRun endnoteRun = endnoteParagraph.createRun();
        endnoteRun.setText("This is an endnote.");

        // ডকুমেন্ট সেভ করা
        FileOutputStream out = new FileOutputStream("footnote_endnote_example.docx");
        document.write(out);
        out.close();
    }
}

এখানে, একটি Footnote এবং Endnote যোগ করা হয়েছে, যা ডকুমেন্টে অতিরিক্ত তথ্য প্রদানের জন্য ব্যবহার করা যাবে।


৫. Annotations (Comments) এর Format কাস্টমাইজেশন

আপনি Annotations বা Comments এর font, color, size ইত্যাদি কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ:

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class CustomizeCommentFormat {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();

        // Paragraph তৈরি করা
        XWPFParagraph para1 = document.createParagraph();
        para1.setAlignment(ParagraphAlignment.LEFT);
        XWPFRun run1 = para1.createRun();
        run1.setText("This is a text with customized comment.");

        // মন্তব্য (Annotation) যোগ করা
        XWPFComment comment = new XWPFComment(document);
        comment.setAuthor("Jane Smith");
        comment.setDate("2024-12-17");
        comment.setText("This is a custom formatted comment.");

        // মন্তব্যের ফরম্যাট কাস্টমাইজ করা
        comment.setFontSize(12); // Font size 12
        comment.setFontColor("FF0000"); // Red color
        comment.setBold(true); // Bold text

        para1.addComment(comment);

        // ডকুমেন্ট সেভ করা
        FileOutputStream out = new FileOutputStream("customized_comment.docx");
        document.write(out);
        out.close();
    }
}

এখানে, Comment বা Annotation এর ফরম্যাট যেমন font size, color এবং boldness কাস্টমাইজ করা হয়েছে।


৬. সারাংশ

Annotations (যেমন Comments, Footnotes, Endnotes) Word ডকুমেন্টে গুরুত্বপূর্ণ তথ্য বা পরামর্শ প্রদান করতে ব্যবহৃত হয়। Apache POI এর মাধ্যমে আপনি এই Annotations যোগ করতে পারেন, পড়তে পারেন এবং কাস্টমাইজও করতে পারেন। এটি ডকুমেন্টের রিভিউ বা পর্যালোচনা প্রক্রিয়ায় অত্যন্ত সহায়ক এবং এটি ডকুমেন্টের তথ্যকে আরও সুসংগঠিত এবং স্পষ্টভাবে উপস্থাপন করতে সাহায্য করে।

common.content_added_by

Multiple Comments এবং তাদের Formatting

137
137

Apache POI ব্যবহার করে Microsoft Word (DOCX) ডকুমেন্টে multiple comments যোগ করা এবং তাদের formatting কাস্টমাইজ করা সম্ভব। Comments সাধারণত টেক্সট বা কন্টেন্টের ওপর নোট বা মন্তব্য হিসেবে ব্যবহার করা হয়, যা ডকুমেন্টের প্রাসঙ্গিক অংশের জন্য সহায়ক তথ্য প্রদান করে।

এখানে আমরা দেখবো কিভাবে multiple comments যোগ করা যায় এবং প্রতিটি মন্তব্যের formatting কাস্টমাইজ করা যায়, যেমন author, text style, color, ইত্যাদি।


১. Multiple Comments যোগ করা

প্রথমে, আপনাকে ডকুমেন্টে comment যোগ করতে হবে এবং প্রতিটি মন্তব্যকে একটি author এবং text সহ কাস্টমাইজ করতে হবে। নিচের উদাহরণে দেখানো হয়েছে কিভাবে একাধিক মন্তব্য (comments) যোগ করা যায়।

উদাহরণ: Multiple Comments যোগ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFFooter;
import org.apache.poi.xwpf.usermodel.XWPFComment;

import java.io.FileOutputStream;
import java.io.IOException;

public class MultipleCommentsExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন Word ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // একটি প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("এটি একটি ডকুমেন্টের উদাহরণ, যেখানে কমেন্ট যুক্ত করা হবে।");

        // প্রথম কমেন্ট যোগ করা
        XWPFComment comment1 = new XWPFComment();
        comment1.setAuthor("Author1");
        comment1.setText("এটি প্রথম মন্তব্য।");
        run.addComment(comment1);  // কমেন্ট রানটিতে যুক্ত করা

        // দ্বিতীয় কমেন্ট যোগ করা
        XWPFComment comment2 = new XWPFComment();
        comment2.setAuthor("Author2");
        comment2.setText("এটি দ্বিতীয় মন্তব্য।");
        run.addComment(comment2);  // কমেন্ট রানটিতে যুক্ত করা

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("MultipleCommentsExample.docx")) {
            document.write(out);
        }

        System.out.println("Multiple comments added successfully!");
    }
}

কোড ব্যাখ্যা:

  • XWPFComment: এটি একটি নতুন মন্তব্য তৈরি করার জন্য ব্যবহৃত হয়।
  • setAuthor("Author1"): মন্তব্যের লেখক নির্ধারণ করা।
  • setText("এটি প্রথম মন্তব্য"): মন্তব্যের টেক্সট নির্ধারণ করা।
  • addComment(comment1): রানটিতে (যেটি টেক্সট ধারণ করে) মন্তব্য যোগ করা।

২. Comments এর Formatting কাস্টমাইজেশন

মন্তব্যগুলির formatting কাস্টমাইজ করতে আপনি font size, color, bold, italic ইত্যাদি পরিবর্তন করতে পারেন। এর মাধ্যমে আপনি মন্তব্যগুলির দৃশ্যমানতা এবং পাঠযোগ্যতা আরও উন্নত করতে পারবেন।

উদাহরণ: Comments এর Formatting কাস্টমাইজ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFComment;

import java.io.FileOutputStream;
import java.io.IOException;

public class CommentFormattingExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন Word ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // একটি প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("এটি একটি ডকুমেন্টের উদাহরণ, যেখানে কমেন্টে ফরম্যাটিং কাস্টমাইজ করা হয়েছে।");

        // প্রথম কমেন্ট যোগ করা এবং ফরম্যাটিং কাস্টমাইজ করা
        XWPFComment comment1 = new XWPFComment();
        comment1.setAuthor("Author1");
        comment1.setText("এটি প্রথম মন্তব্য।");
        comment1.setFontSize(12);  // ফন্ট সাইজ ১২ পয়েন্ট
        comment1.setBold(true);    // বোল্ড স্টাইল
        comment1.setColor("FF0000"); // রেড কালার

        run.addComment(comment1);  // কমেন্ট রানটিতে যুক্ত করা

        // দ্বিতীয় কমেন্ট যোগ করা এবং ফরম্যাটিং কাস্টমাইজ করা
        XWPFComment comment2 = new XWPFComment();
        comment2.setAuthor("Author2");
        comment2.setText("এটি দ্বিতীয় মন্তব্য।");
        comment2.setItalic(true);   // ইটালিক স্টাইল
        comment2.setFontSize(10);   // ফন্ট সাইজ ১০ পয়েন্ট

        run.addComment(comment2);  // কমেন্ট রানটিতে যুক্ত করা

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("FormattedCommentsExample.docx")) {
            document.write(out);
        }

        System.out.println("Formatted comments added successfully!");
    }
}

কোড ব্যাখ্যা:

  • setFontSize(12): কমেন্টের ফন্ট সাইজ সেট করা (পয়েন্টে)।
  • setBold(true): কমেন্টের টেক্সট বোল্ড করা।
  • setColor("FF0000"): কমেন্টের টেক্সট রঙ পরিবর্তন করা। এখানে FF0000 হল রেড (লাল) রঙের হেক্স কোড।
  • setItalic(true): কমেন্টের টেক্সট ইটালিক করা।

৩. Comments এবং Text Style সম্পূর্ণ কাস্টমাইজেশন

মন্তব্যের text style (যেমন, ফন্ট, সাইজ, বোল্ড, ইটালিক) সম্পূর্ণভাবে কাস্টমাইজ করা সম্ভব, যাতে আপনি ডকুমেন্টের প্রাসঙ্গিক মন্তব্যগুলো আরও স্পষ্ট এবং পাঠযোগ্য করতে পারেন।

উদাহরণ: Text Style সম্পূর্ণ কাস্টমাইজ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFComment;

import java.io.FileOutputStream;
import java.io.IOException;

public class AdvancedCommentFormattingExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন Word ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // একটি প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("এটি একটি ডকুমেন্টের উদাহরণ, যেখানে কমেন্টের টেক্সট স্টাইল কাস্টমাইজ করা হয়েছে।");

        // প্রথম কমেন্ট যোগ করা এবং পূর্ণ ফরম্যাটিং
        XWPFComment comment1 = new XWPFComment();
        comment1.setAuthor("Author1");
        comment1.setText("এটি প্রথম মন্তব্য।");

        // কমেন্টের ফন্ট এবং স্টাইল কাস্টমাইজ করা
        comment1.setFontSize(14);
        comment1.setBold(true);
        comment1.setItalic(true);
        comment1.setFont("Times New Roman");
        comment1.setColor("00FF00");  // সবুজ

        run.addComment(comment1);  // কমেন্ট রানটিতে যুক্ত করা

        // দ্বিতীয় কমেন্ট যোগ করা এবং পূর্ণ ফরম্যাটিং
        XWPFComment comment2 = new XWPFComment();
        comment2.setAuthor("Author2");
        comment2.setText("এটি দ্বিতীয় মন্তব্য।");

        // দ্বিতীয় কমেন্টের ফন্ট এবং স্টাইল কাস্টমাইজ করা
        comment2.setFontSize(10);
        comment2.setItalic(true);
        comment2.setFont("Arial");
        comment2.setColor("0000FF");  // নীল

        run.addComment(comment2);  // কমেন্ট রানটিতে যুক্ত করা

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("AdvancedCommentFormattingExample.docx")) {
            document.write(out);
        }

        System.out.println("Advanced formatted comments added successfully!");
    }
}

কোড ব্যাখ্যা:

  • setFont("Times New Roman"): মন্তব্যের জন্য Times New Roman ফন্ট ব্যবহার করা।
  • setColor("00FF00"): মন্তব্যের জন্য সবুজ (Green) রঙ ব্যবহার করা।
  • setFontSize(14): মন্তব্যের ফন্ট সাইজ ১৪ পয়েন্টে পরিবর্তন করা।
  • setItalic(true): মন্তব্যের টেক্সট ইটালিক করা।

সারাংশ

Apache POI ব্যবহার করে multiple comments এবং তাদের formatting কাস্টমাইজ করা সম্ভব। আপনি মন্তব্যের author, text, **

font size**, bold, italic, color ইত্যাদি কাস্টমাইজ করতে পারেন। এটি বিশেষভাবে সহায়ক যখন আপনাকে ডকুমেন্টে মন্তব্যগুলি স্পষ্টভাবে চিহ্নিত এবং ফরম্যাট করতে হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion